Telecommunications networks in the past have consisted of circuit-switched networks. Generally, circuit-switched networks include multiple network elements communicatively interconnecting a source location and a destination location. A circuit or a static communications path through the multiple network elements is established linking the source location to the destination location. Once the circuit has been established, the source location would be connected to the destination location and communications may be performed there between. The circuit remains established for the duration of the session. These types of sessions would be used for both voice and data, such as voice conversations, facsimiles, data modems, and the like.
Because the circuit is maintained for the entire duration of the session regardless of amount of use, a circuit-switched network may be an inefficient use of the network elements. This is particularly true of some data applications in which the data transmission is bursty. For example, if an application consisted of data being sent from a first user to a second user, who reviews the information and transmits a response back to the first user, a circuit would be maintained even though no information was being transmitted during the time that the second user spent reviewing the information.
In contrast to a circuit-switched network, a packet-based network does not establish a static circuit or communication path between the first location and the second location for the duration of the session. Rather, a packet-based network breaks data into packets, which are then individually sent from the first location to the second location over a network of interconnected network elements and individually routed to their destination. In this manner, the packets may be dynamically re-routed in the event a fault condition is detected on a particular link or on a particular device. The data is then reconstructed from the individual packets at the second (destination) location. In this manner, the resources of the network elements may be used by other sessions or unrelated data traffic when not currently being used to transmit data, thereby allowing a more efficient use of resources than circuit-switched networks.
Some such packet-based networks utilize a transport protocol such as the Internet Protocol (IP) and one such example is the Internet. The Internet, and other data networks, comprises a collection of a collection of interconnected network elements. Data packets are routed from one network element to another based upon routing tables contained in each network element until the packet arrives at the destination. If a network element or a link between network elements fails, then the packet is rerouted through different network elements.
Monitoring the path taken by sessions through the network elements, however, is difficult. Because packet-based networks such as the Internet are simply a collection of interconnected network elements, there is little or no interaction between the network elements other than to route or forward data packets. Any analysis of the network is typically either performed after the fact or done by sending a probe along the path at a particular instant in time. The analysis is neither comprehensive nor dynamic. As a result, it is extremely difficult to detect possible bottlenecks or problems in the network until a problem occurs and to historically reconstruct what occurred within the network at the instant a problem occurred.
As a result, there is a need for a system and method to provide service assurance in a packet-based network, such as IP networks.